package cn.exrick.xboot.base.service

import cn.exrick.xboot.base.entity.Area
import cn.exrick.xboot.core.common.vo.Result
import com.baomidou.mybatisplus.extension.service.IService

/**
 * 区域管理接口
 * @author Fei
 */
interface IAreaService : IService<Area?> {
    /**
     * 添加区域
     * @param area 参数
     */
    fun insertArea(area: Area?): Result<Any>?

    /**
     * 删除区域
     * @param areaIds 区域id
     */
    fun deleteArea(areaIds: Array<out String>): Result<Any>

    /**
     * 更新区域
     * @param area 参数
     */
    fun updateArea(area: Area?): Result<Any>?

    /**
     * 通过上级id查下级
     * @param areaId 区域id
     * @return 区域列表
     */
    fun getByPid(areaId: String?): Result<MutableList<Area?>>?

    /**
     * 根据id查看区域详情
     * @param id id
     * @return 区域详情
     */
    fun getAreaById(id: String?): Result<Area>?

    /**
     * 根据区域id查出区域全拼
     * @param areaId 区域id
     * @return 区域名称
     */
    fun getAreaFullNameByAreaId(areaId: String?): String?


    /**
     * 获取统计区域
     */
    fun getAreaByAreaLevel():Result<MutableList<Area?>>?

}